概述
SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档。
接口列表
打开
打开本地文件
方法
void OpenFile(BSTR filePath)
说明
打开本地文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
filePath | 是 | 本地文件路径。 |
返回值
void
备注
D:\\1.svl 打开D盘下的1.svl文件
打开URL文件
方法
void OpenUrl(BSTR urlPath)
说明
打开URL文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
urlPath | 是 | 远端文件路径,多个文件用;;分割。 |
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
打开属性文件
属性
Src
说明
设置Src的值为模型路径打开模型文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
value | 是 | 为url路径,多个Url路径需要用;;来分割开。 |
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
显示配置
方法配置参数
方法
void SetConfig(BSTR configJson)
说明
直接调用方法,传递JSON格式数据,配置各项参数,JSON文件格式
{ "Common": [ { "IsConRotate": "False", "ShowMode": "3" } ], "Render": [ { "IsSimplityMode": "False", "DrawDataBufferType": "1", "RemoveSize": "5", "MeasureUnit": "0", "IsShowPMI": "True", "MsaaNum": "2", "GLES": "2", "BackgroundImagePath": "" } ], "Layout": [ { "MainMenu": "False", "AssemblyTree": "True", "ModelView": "True", "ToolBar": "True" } ] }
参数
参数 | 是否必须 | 说明 |
---|---|---|
IsConRotate | 是 | 值:True/False:持续/不持续旋转(设置模型是否持续旋转,默认值为False) |
IsSimplityMode | 是 | 值:True/False:使用/不使用高性能 (设置是否使用高性能模式,默认值为False) |
DrawDataBufferType | 是 | 值: 0内存优先,1显存优先,2磁盘优先(设置存储模式,默认值为1) |
MeasureUnit | 是 | 值: 0无,1毫米,2厘米,3米,4英寸,5英尺(设置测量功能测量单位,默认值为0) |
IsUseLOD | 是 | 值:True/False:使用/不使用LOD(设置渲染模式,默认值为False) |
RemoveMode | 是 | 值: 0模型,1屏幕(设置小件剔除模式,以屏幕来剔除或以模型来剔除,默认值为1) |
IsMergeFace | 是 | 值: True/False:合并/不合并面(设置模型是否合并面,默认值为Fasle) |
RemoveSize | 是 | 值: 0~50之间int整数(设置小件剔除百分比,默认值为0) |
IsReadEdgeFlag | 是 | 值:True/False:使用/不使用边界线(设置是否显示模型的边界线,默认值为True) |
MsaaNum | 是 | 值: 0关闭,1表示X2倍,2表示X4倍,3表示X8倍(设置多重采样抗锯齿倍率,默认值为2) |
RemoveSize | 是 | 值: 0~50之间int整数 |
IsShowPMI | 是 | 值:True/False:显示/不显示PMI(设置模型是否显示批注、测量等信息,默认值为True) |
ShowMode | 是 | 值: 0无,1显示装配树,2显示视图(设置模型显示装配树、视图,默认值为0) |
GLES | 是 | 值: 1表示ES1,2表示ES2(设置GLES模式,默认值为1 |
返回值
void
备注
无
属性配置参数
属性
Configure
说明
设置属性Configure的值为JSON格式数据,配置各项参数,数据格式为: <param name="Configure" value='{"Common": [{"IsConRotate": "False","ShowMode": "3"}],"Render": [{"IsSimplityMode":"True","DrawDataBufferType":"1", "RemoveSize": "5","MeasureUnit": "0","IsShowPMI": "True","MsaaNum": "2","GLES": "2",BackgroundImagePath": ""}]"Layout": [{"MainMenu": "False","AssemblyTree": "True","ModelView": "True","ToolBar": "True"}]}'>
参数
参数 | 是否必须 | 说明 |
---|---|---|
value | 是 | 为JSON格式数据,配置属性参数 |
返回值
void
备注
无
布局配置
方法
void SetConfig(BSTR configJson)
说明
外部通过JSON文件配置,JSON文件格式:
{ "Layout": [ { "MainMenu": "False", "AssemblyTree": "True", "ModelView": "True", "ToolBar": "True" } ] }
参数
参数 | 是否必须 | 说明 |
---|---|---|
AssemblyTree | 是 | 值: True/False:显示/隐藏装配树面板(设置装配树面板的显隐,默认值为True |
ModelView | 是 | 值:True/False:显示/隐藏视图面板(设置装视图面板的显隐,默认值为True) |
MainMenu | 是 | 值: True/False:显示/隐藏主工具栏(设置工具栏的显隐,默认值为True) |
ToolBar | 是 | 值:True/False:显示/隐藏主命令工具栏(设置命令工具栏的显隐,默认值为True) |
返回值
void
备注
无
布局配置
复位
方法
void RestoreView()
说明
置模型恢复到初始化状态
参数
无
返回值
void
备注
无
拾取
方法
void SetModelSelected(BSTR svlPath, VARIANT_BOOL selected)
说明
设置模型的选中/取消选中
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 模型唯一标识(见备注) |
selected | 是 | True/False:拾取/不拾取 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
选择复位
方法
RestoreSelectedModle(BSTR svlPath)
说明
设置模型回到原始位置
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 模型唯一标识 示例"PATH|0|3|2|3" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
聚焦显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型聚焦显示
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 模型唯一标识 示例"PATH|0|3|2|3" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
保存截图
方法
void TakeScreenPicture(BSTR savePath)
说明
保存模型展示截图
参数
参数 | 是否必须 | 说明 |
---|---|---|
savePath | 是 | 截图保存的路径 |
返回值
void
备注
无
模型属性
显示、隐藏
方法
void SetModelVisible(BSTR svlPath, VARIANT_BOOL visible)
说明
设置模型的显示或隐藏
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 模型唯一标识 |
visible | 是 | True/False:显示/隐藏 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
颜色
方法
void SetModelColor(BSTR svlPath, BSTR colorStr)
说明
设置模型颜色
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | 模型唯一标识 |
colorStr | 是 | 十六进制颜色字符串颜色,示例"0x0000ff" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
视图浏览
方法
void SetPerspective(int viewType)
说明
基本视图浏览:前视图、俯视图、仰视图、左视图、右视图、后视图、轴测图,设置不同方位展示模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewType | 是 | 0前视图 1后视图 2右视图 3左视图 4仰视图 5俯视图 6轴视图 |
返回值
void
备注
无
渲染模式
方法
void SetDrawMode(int renderMode)
说明
着色模式、边着色模式、线框模式、半透明模式、显示包围盒、显示网格
参数
参数 | 是否必须 | 说明 |
---|---|---|
renderMode | 是 | 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒 |
返回值
void
备注
无
操作配置
多选
方法
void SetMultiSelect(bool isMultiSelect)
说明
设置模型是否多选
参数
参数 | 是否必须 | 说明 |
---|---|---|
isMultiSelect | 是 | True/False:使用/不使用多选 |
返回值
void
备注
无
指定旋转
方法
void SetDesignatedRotation(bool isDesignatedRotation)
说明
设置模型是否指定旋转
参数
参数 | 是否必须 | 说明 |
---|---|---|
isDesignatedRotation | 是 | True/False:使用/不使用指定旋转 |
返回值
void
备注
无
显示属性
方法
void ShowPorperty(bool showPorperty)
说明
设置模型属性列表显示隐藏
参数
参数 | 是否必须 | 说明 |
---|---|---|
showPorperty | 是 | True/False:显示/隐藏属性列表 |
返回值
void
备注
无
剖切
剖切
方法
void SetClipPlane(SHORT direction, FLOAT position, VARIANT_BOOL isShowClipPlane,VARIANT_BOOL,isShowCutPlane)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
参数 | 是否必须 | 说明 |
---|---|---|
direction | 是 | 方向 1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z; |
position | 是 | 位置 0~100表示剖切百分比 |
isShowClipPlane | 是 | 是否显示示意面 |
isShowCutPlane | 是 | 是否显示盖面 |
返回值
void
备注
无
关闭剖切
方法
void CloseClipPlane()
说明
关闭模型的剖切展示
参数
无
返回值
void
备注
无
爆炸图
爆炸图
方法
void SetExplosiveView(int type, int pos)
说明
展示模型爆炸效果
参数
参数 | 是否必须 | 说明 |
---|---|---|
type | 是 | 爆炸类型;0-远离中心点爆炸;1-左右爆炸;2-上下爆炸 |
pos | 是 | 爆炸间距0-100 |
返回值
void
备注
无
关闭爆炸图
方法
void CloseExplosive()
说明
关闭模型的爆炸展示
参数
无
返回值
void
备注
无
动画
开始
方法
void AnimationPlay()
说明
开始播放模型的动画文件或者播放暂停的动画文件
参数
无
返回值
void
备注
无
暂停
方法
void AnimationPause()
说明
暂停模型动画文件的播放
参数
无
返回值
void
备注
无
继续
方法
void AnimationContinue()
说明
继续播放模型的动画文件
参数
无
返回值
void
备注
无
是否重复播放
方法
bool AnimationLoop(bool loop)
说明
设置模型动画文件的重复播放
参数
参数 | 是否必须 | 说明 |
---|---|---|
loop | 是 | true,循环播放;false 不循环 |
返回值
bool
备注
无
设置速度
方法
void AnimationSetSpeed(float speed)
说明
设置动画播放速度
参数
参数 | 是否必须 | 说明 |
---|---|---|
speed | 是 | 1-10倍速播放 |
返回值
void
备注
无
播放指定段
方法
void AnimationPlayRange(int startId, int endId)
说明
设置动画播放速度
参数
参数 | 是否必须 | 说明 |
---|---|---|
startId | 是 | 开始id |
endId | 是 | 结束id |
返回值
void
备注
无
打开动画文件
方法
void AnimationOpenFile(String animationFilePath)
说明
打开模型动画文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
animationFilePath | 是 | 动画文件路径 |
返回值
void
备注
无
关闭动画
方法
void AnimationClose()
说明
关闭动画播放
参数
无
返回值
void
备注
无